<?php
class Detalleordencompra extends AppModel {
	var $displayField = 'descripcion';
	var $name = 'Detalleordencompra';
	
	var $belongsTo = array(
		'Estado'=>array('className' => 'Estado','foreignKey' => 'estado_id'),
		'Articulo'=>array('className' => 'Articulo','foreignKey' => 'articulo_id'),
		'Ordencompra'=>array('className' => 'Ordencompra','foreignKey' => 'ordencompra_id'),
	);
	var $validate = array(
		'id'=>array('notEmpty'=>array('rule'=>'notEmpty', 'message'=>'Verifique sus datos')),
		'ordencompra_id'=>array('notEmpty'=>array('rule'=>'notEmpty', 'message'=>'Verifique sus datos')),
		'articulo_id'=>array('notEmpty'=>array('rule'=>'notEmpty', 'message'=>'Verifique sus datos')),
		'estado_id'=>array('notEmpty'=>array('rule'=>'notEmpty', 'message'=>'Verifique sus datos')),
		'cantidad'=>array('numeric'=>array('rule' =>'numeric','last'=>true,'message'=>'Cantidad: Ingrese la cantidad a comprar')),
		'prc_unidad'=>array('numeric'=>array('rule' =>'numeric','last'=>true,'message'=>'Prec. Unit: Ingrese el precio unitario')),
		'prc_total'=>array('numeric'=>array('rule' =>'numeric','last'=>true,'message'=>'Prec. Total: El precio parcial no esta siendo calculado')),
		'cantidad_nt_ing'=>array('numeric'=>array('rule' =>'numeric','allowEmpty'=>true,'last'=>true,'message'=>'Cant. Nota Ing.: No se pudo actualizar la cantidad nota de ingreso'))
	);
	
	function countDetalleordencompra($params){ return $this->find('count',$params); }
	function dataDetalleordencompra($params){ return $this->find('all',$params); }
	
	function getDetalleordencompra($ordencompra_id){
		App::import('Model','Unidad'); 		$this->Unidad = new Unidad();
		$detalleordencomprafields = array(
			'Detalleordencompra.id','Detalleordencompra.articulo_id','Detalleordencompra.cantidad','Detalleordencompra.cantidad_nt_ing'
		    ,'"Detalleordencompra"."cantidad" - "Detalleordencompra"."cantidad_nt_ing" AS "Detalleordencompra__cantidad_faltante"'
			,'Detalleordencompra.prc_unidad','Detalleordencompra.prc_total','Detalleordencompra.observacion'
			,'Detalleordencompra.estado_id','"Articulo"."codigo" || \' - \' || "Articulo"."descripcion" AS "Articulo__descripcion"'
			,'Articulo.unidadxcaja','Articulo.unidad_id'
		);
		
		$detalleordencompras = $this->find('all', array(
									'fields'=>$detalleordencomprafields, 
									'conditions'=>array('Detalleordencompra.ordencompra_id'=>$ordencompra_id,
														'Detalleordencompra.estado_id'=>1)));
		
		$unidadLista = $this->Unidad->getUnidadLista();
		foreach($detalleordencompras as $key=>$detalleordencompra){
			$detalleordencompras[$key]['Unidad']['descripcion'] = $unidadLista[$detalleordencompra['Articulo']['unidad_id']];
		}
		
		return $detalleordencompras;
	}
}